
/**
 * 需求:
 * Message({ type: 'error', text: '登录失败' }) // 错误弹框提示 文案为登录失败
 * Message({ type: 'warn', text: '登录警告' }) // 警告弹框提示 文案为登录警告
 * 1.调用方法支持传参,显示定制的消息提示框
 * 2.指定时间内自动关闭消息提示框
 *
 */
import { createVNode, render } from 'vue'
import Msg from './index.vue'
export default ({ type, text, time = 200 }) => {
  /**
   * 思路:
   * 1.把消息提示框组件使用createVNode方法,创建成虚拟DOM
   * 2.渲染虚拟DOM
   * 3.控制呗创建元素的显示隐藏
   */
  const msg = createVNode(Msg, { type, text })
  render(msg, document.body)
  // 调用组件变量控制显示隐藏
  msg.component.setupState.isShow = true
  setTimeout(() => {
    msg.component.setupState.isShow = false
  }, time)
}
